package com.handyshop.mall.dubbo.commodity.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.handyshop.mall.dubbo.entity.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.math.BigDecimal;
import java.util.Date;

@ApiModel(value = "sku商品表")
@Data
@EqualsAndHashCode(callSuper = true)
@TableName(value = "nrs_goods")
public class Goods extends BaseEntity {
    /**
     * spu唯一标识
     */
    @TableField(value = "spu_code")
    @ApiModelProperty(value = "spu唯一标识")
    private String spuCode;

    /**
     * 商家id
     */
    @TableField(value = "merchant_id")
    @ApiModelProperty(value = "商家id")
    private Long merchantId;

    /**
     * 类目id
     */
    @TableField(value = "category_id")
    @ApiModelProperty(value = "类目id")
    private Integer categoryId;

    /**
     * 商品名称
     */
    @TableField(value = "title")
    @ApiModelProperty(value = "商品名称")
    private String title;

    /**
     * 商品第二名称
     */
    @TableField(value = "en_title")
    @ApiModelProperty(value = "商品第二名称")
    private String enTitle;

    /**
     * 副标题：商品维度的推荐语
     */
    @TableField(value = "subtitle")
    @ApiModelProperty(value = "副标题：商品维度的推荐语")
    private String subtitle;

    /**
     * 第二副标题
     */
    @TableField(value = "en_subtitle")
    @ApiModelProperty(value = "第二副标题")
    private String enSubtitle;

    /**
     * 计量单位id
     */
    @TableField(value = "unit_id")
    @ApiModelProperty(value = "计量单位id")
    private Long unitId;

    /**
     * 保障id
     */
    @TableField(value = "guarantee_ids")
    @ApiModelProperty(value = "保障id")
    private String guaranteeIds;

    /**
     * 价格
     */
    @TableField(value = "price")
    @ApiModelProperty(value = "价格")
    private BigDecimal price;

    /**
     * 1：待审批；2：审批通过；3：审批拒绝
     */
    @TableField(value = "audit_status")
    @ApiModelProperty(value = "1：待审批；2：审批通过；3：审批拒绝")
    private Byte auditStatus;

    /**
     * 商品图片url
     */
    @TableField(value = "pic_url")
    @ApiModelProperty(value = "商品图片url")
    private String picUrl;

    /**
     * 商品视频url
     */
    @TableField(value = "video_url")
    @ApiModelProperty(value = "商品视频url")
    private String videoUrl;

    /**
     * 视频头图片url
     */
    @TableField(value = "video_head_url")
    @ApiModelProperty(value = "视频头图片url")
    private String videoHeadUrl;

    /**
     * 商品关键字
     */
    @TableField(value = "keyword")
    @ApiModelProperty(value = "商品关键字")
    private String keyword;

    /**
     * 商品介绍
     */
    @TableField(value = "content")
    @ApiModelProperty(value = "商品介绍")
    private String content;

    /**
     * 第二商品介绍
     */
    @TableField(value = "en_content")
    @ApiModelProperty(value = "第二商品介绍")
    private String enContent;

    /**
     * 排序
     */
    @TableField(value = "sort")
    @ApiModelProperty(value = "排序")
    private Integer sort;

    /**
     * 品牌id
     */
    @TableField(value = "brand_id")
    @ApiModelProperty(value = "品牌id")
    private Long brandId;

    /**
     * 快捷码(餐饮类型商品的快捷查询)
     */
    @TableField(value = "swift_code")
    @ApiModelProperty(value = "快捷码(餐饮类型商品的快捷查询)")
    private String swiftCode;

    /**
     * 是否长期有效(0: 长期 ;1: 日; 2:月 3:年)
     */
    @TableField(value = "validity_type")
    @ApiModelProperty(value = "是否长期有效(0: 长期 ;1: 日; 2:月 3:年)")
    private Boolean validityType;

    /**
     * 有效期数量
     */
    @TableField(value = "validity_num")
    @ApiModelProperty(value = "有效期数量")
    private Integer validityNum;

    /**
     * 有效期时间
     */
    @TableField(value = "validity_time")
    @ApiModelProperty(value = "有效期时间")
    private Date validityTime;

    public static final String COL_ID = "id";

    public static final String COL_SPU_CODE = "spu_code";

    public static final String COL_MERCHANT_ID = "merchant_id";

    public static final String COL_CATEGORY_ID = "category_id";

    public static final String COL_TITLE = "title";

    public static final String COL_EN_TITLE = "en_title";

    public static final String COL_SUBTITLE = "subtitle";

    public static final String COL_EN_SUBTITLE = "en_subtitle";

    public static final String COL_UNIT_ID = "unit_id";

    public static final String COL_GUARANTEE_IDS = "guarantee_ids";

    public static final String COL_PRICE = "price";

    public static final String COL_AUDIT_STATUS = "audit_status";

    public static final String COL_PIC_URL = "pic_url";

    public static final String COL_VIDEO_URL = "video_url";

    public static final String COL_VIDEO_HEAD_URL = "video_head_url";

    public static final String COL_KEYWORD = "keyword";

    public static final String COL_CONTENT = "content";

    public static final String COL_EN_CONTENT = "en_content";

    public static final String COL_SORT = "sort";

    public static final String COL_BRAND_ID = "brand_id";

    public static final String COL_SWIFT_CODE = "swift_code";

    public static final String COL_VALIDITY_TYPE = "validity_type";

    public static final String COL_VALIDITY_NUM = "validity_num";

    public static final String COL_VALIDITY_TIME = "validity_time";

    public static final String COL_DELETE_FLAG = "delete_flag";

    public static final String COL_CREATOR_ID = "creator_id";

    public static final String COL_CREATOR = "creator";

    public static final String COL_CREATE_TIME = "create_time";

    public static final String COL_MODIFY_TIME = "modify_time";
}